package design.mode.model.factory.factorymethod.factory.comon;

/**
 * @description 抽象工厂类(对于需要增加一个其他的咖啡类型，
 * 只需要增加一个咖啡工厂的子实现类即可，原有的代码不动，
 * 这就符合开闭原则 -- 对拓展开发，对修改关闭)
 * @since jdk11
 */
public interface CoffeeFactory {
    /**
     * 创建产品对象
     *
     * @param clazz 产品类型
     * @param <T>   类型
     * @return      产品对象
     */
    public  <T> T createProduct(Class<T> clazz);
}
